/*!
\copyright  Copyright (c) 2023 Qualcomm Technologies International, Ltd.
            All Rights Reserved.
            Qualcomm Technologies International, Ltd. Confidential and Proprietary.
\file       storage_manager_ra_partition.c
\brief      The private header for the RA partition storage manager 
*/

#ifndef STORAGE_MANAGER_RA_PARTITION_H_
#define STORAGE_MANAGER_RA_PARTITION_H_

#include <ra_partition_api.h>
#include <list.h>
#include <logging.h>
#include <stdlib.h>
#include "storage_manager_interface.h"
#include "storage_manager_ra_partition_types.h"

typedef struct
{
    raPartition_handle handle;
    raPartition_info info;
} ra_partition_instance_t;

typedef struct
{
    // Must be the first member in the struct, since the protected_data code can only access this part
    storage_mgr_protected_data_t protected_data;
    // Everything after is implementation specific.
    ra_partition_instance_t ra_instance;
} ra_partition_buffer_t;

#endif /* STORAGE_MANAGER_RA_PARTITION_H_ */